package server

import "net"

/**
 * @Author: hejing@szlabsun.com
 * @Description:
 * @File:  connection
 * @Version: 1.0.0
 * @Date: 2021/7/23 10:38
 */
type Client interface {
	Write([]byte) error
	SetPassword(string)
	GetPassword() string
	GetConn() net.Conn

	// client should keep its subscribing channels
	//Subscribe(channel string)
	//UnSubscribe(channel string)
	//SubsCount() int
	//GetChannels() []string
	//
	//// used for `Multi` command
	//InMultiState() bool
	//SetMultiState(bool)
	//GetQueuedCmdLine() [][][]byte
	//EnqueueCmd([][]byte)
	//ClearQueuedCmds()
}
